Устанавливать Docker буду на Debian с помощью официального скрипта:
curl https://get.docker.com -o install.sh && sh install.sh
Добавляем в автозагрузку наш Docker:
systemctl enable docker.service
Проверяем что все установилось:
docker version
docker compose version
Создаем нужные директории и сам docker-compose.yml:
mkdir -p /app/vaultwarden
cd /app/vaultwarden
nano docker-compose.yml
Заполняем его следующим содержимым:
version: '3'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
WEBSOCKET_ENABLED: "true"
SIGNUPS_ALLOWED: "true" #Меняем на false для закрытия регистрации
volumes:
- ./data:/data
caddy:
image: caddy:2
container_name: caddy
restart: always
ports:
- 80:80
- 443:443
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-config:/config
- ./caddy-data:/data
environment:
DOMAIN: "https://ВАШ_ДОМЕН.RU"
EMAIL: "ВАША_ПОЧТА@gmail.com"
LOG_FILE: "/data/access.log"
Создаем и наполняем содержимым наш Caddyfile:
nano Caddyfile
{$DOMAIN}:443 {
log {
level INFO
output file {$LOG_FILE} {
roll_size 10MB
roll_keep 10
}
}
tls {$EMAIL}
encode gzip
header {
Strict-Transport-Security "max-age=31536000;"
X-XSS-Protection "1; mode=block"
X-Frame-Options "DENY"
X-Robots-Tag "none"
-Server
}
reverse_proxy /notifications/hub vaultwarden:3012
reverse_proxy vaultwarden:80 {
header_up X-Real-IP {remote_host}
}
}
Запускаем наш Docker-Compose.yml файл и завершаем установку:
docker compose up -d
Обновление Vaultwarden:
Перейти в папку Vaultwarden:
cd /app/vaultwarden
Остановить текущие контейнеры:
docker compose down
Скачать последнюю версию образа Vaultwarden:
docker pull vaultwarden/server:latest
Перезапустить контейнеры с новым образом:
docker compose up -d
Проверка версии Vaultwarden
1. Через логи Docker
docker logs vaultwarden 2>&1 | grep -i "version"
(Замените vaultwarden на имя своего контейнера, если оно другое). В самом начале логов при запуске он всегда пишет свою версию.
2. Через консоль внутри контейнера
docker exec -it vaultwarden /vaultwarden --version
Это выведет точную версию исполняемого файла.
3. Через Docker Inspect
Если вы хотите узнать версию образа (тег):
docker inspect vaultwarden | grep -i "version"